home *** CD-ROM | disk | FTP | other *** search
/ Aminet 12 / Aminet 12 (1996)(GTI - Schatztruhe)[!][Jun 1996].iso / Aminet / dev / e / framework.lha / fw / list.e < prev    next >
Encoding:
Text File  |  1996-01-28  |  655 b   |  34 lines

  1.  
  2. -> a list is a collection with fixed order.
  3. -> Elements can occur any number of times.
  4. -> Time complexity for data adding is O(1).
  5. -> Time complexity for data searching is O(n).
  6. -> Space complexity is O(n).
  7.  
  8. -> Copyright © Guichard Damien 01/04/1996
  9.  
  10. OPT MODULE
  11.  
  12. MODULE 'fw/bag'
  13.  
  14. EXPORT OBJECT list OF bag
  15.   last:PTR TO bag
  16. ENDOBJECT
  17.  
  18. -> Add an element to the list.
  19. PROC add(e:PTR TO bag) OF list
  20.   IF self.next=NIL THEN self.next:=e
  21.   IF self.last THEN self.last.next:=e
  22.   self.last:=e
  23. ENDPROC
  24.  
  25. -> Find i-th list item (from 1).
  26. PROC item(i:LONG) OF list
  27.   DEF n
  28.   FOR n:=0 TO i
  29.     self:=self.next
  30.     IF self=NIL THEN RETURN NIL
  31.   ENDFOR
  32. ENDPROC self
  33.  
  34.